﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Coffee_Restaurant.DAL;
using Coffee_Restaurant.Models;
using MetroFramework;
using MetroFramework.Forms;

namespace Coffee_Restaurant.Forms.Items
{
    public partial class ImportItem : MetroForm
    {
        public delegate void ButtonSaveEventHandler();
        public event ButtonSaveEventHandler BtnImport;
        public int ItemIdSelect { get; set; }
        public ImportItem()
        {
            InitializeComponent();
        }

        private void ImportItem_Load(object sender, EventArgs e)
        {
            lblPriceFormat.Text = "";
            lblSumPriceFormat.Text = "";
            lblDVT.ForeColor = System.Drawing.Color.White;
        }

        private bool flagSum = false;
        private void Sum_TextChanged(object sender, EventArgs e)
        {
            lblPriceFormat.Text = ValidateHelper.TryParseDecimal(txtPrice.Text); //set to label review price

            int quantity = ValidateHelper.GetValueTryParseInt(txtQuantity.Text);
            decimal priceDecimal = ValidateHelper.GetValueTryParseDecimal(txtPrice.Text);

            //neu co so luong nhap vao thi moi tinh tong tien
            if (quantity <= 0) return;
            //kiem tra du lieu nhap vao
            if (ValidateHelper.IsNumberOrDecimals(txtPrice.Text, 1))
            {
                txtSumPrice.Text = (quantity * priceDecimal).ToString();
                lblSumPriceFormat.Text = ValidateHelper.TryParseDecimal((quantity * priceDecimal).ToString()); //set to label review price
                flagSum = true;
                metroButton1.Enabled = true;// nut dong y
            }
            else
            {
                CustomMessageBox.Show("Xảy ra lỗi tính tổng tiền, có thể dữ liệu bạn nhập vào không đúng", "", "alert", MetroColorStyle.Red);
                txtPrice.Focus();
                metroButton1.Enabled = true;// nut dong y
            }
        }



        private void metroButton2_Click(object sender, EventArgs e)
        {
            this.Hide();
        }

        private void metroButton1_Click(object sender, EventArgs e)
        {
            if (BtnImport != null && flagSum && ItemIdSelect > 0)
            {
                string description = String.Format("{0} {1} {2}", txtQuantity.Text, "(" + lblDVT.Text + ") " + lblItemName.Text, "từ [" + txtSupplier.Text + "]");
                int quantity = ValidateHelper.GetValueTryParseInt(txtQuantity.Text);
                decimal sumPrice = ValidateHelper.GetValueTryParseDecimal(txtSumPrice.Text);
                string type = "Nhập kho";
                if (checkBoxGhiNo.Checked)
                {
                    type = "Quán mua nợ";
                }

                if (ItemDa.UpdateWarehouse(ItemIdSelect, quantity, sumPrice, DateTime.Now.ToString("hh:mm:ss t dd/MM/yyyy") + " Nhập kho " + description, "Admin", type) > 0)
                {
                    BtnImport();
                    this.Hide();
                    CustomMessageBox.Show(description, "Nhập kho thành công", "alert", MetroColorStyle.Default);
                }
                else
                {
                    CustomMessageBox.Show("Có lỗi xảy ra, vui lòng thử lại !", "", "alert", MetroColorStyle.Red);
                }
            }
        }
    }
}
